using RAG.Application.Dtos;

namespace RAG.Application.Interfaces;

/// <summary>
/// 文档处理服务接口
/// </summary>
public interface IDocumentProcessingService
{
    /// <summary>
    /// 处理文档内容
    /// </summary>
    Task<string> ExtractTextAsync(string filePath, string fileType);
    
    /// <summary>
    /// 分块文档内容
    /// </summary>
    Task<List<string>> SplitIntoChunksAsync(string content, int chunkSize = 1000);
    
    /// <summary>
    /// 生成文档摘要
    /// </summary>
    Task<string> GenerateSummaryAsync(string content);
    
    /// <summary>
    /// 验证文档格式
    /// </summary>
    bool ValidateFileFormat(string fileName, string contentType);
    
    /// <summary>
    /// 获取支持的文件类型
    /// </summary>
    List<string> GetSupportedFileTypes();
}
